﻿@using System

@page "/Paychki"

<PageTitle>Паучки Богдана и Хихи</PageTitle>

<h1>Паучки&nbsp;Богдана&nbsp;и&nbsp;Хихи</h1>

<div class="console-window text-center my-3" @onkeydown="@Console.OnKeyDown" tabindex="0">
	<div class="d-inline-block bg-dark text-light border p-2 text-start shadow padding-0">
		<pre class="console">
			<code>@Console.State</code>
		</pre>
	</div>
	<div>
		<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.UpArrow)   ">↑</button>
		<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.DownArrow) ">↓</button>
		<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.LeftArrow) ">←</button>
		<button class="btn btn-primary" @onclick="() => Console.EnqueueInput(ConsoleKey.RightArrow)">→</button>
	</div>
</div>

<div class="alert alert-secondary" role="alert">
	&#9000; Ввод с клавиатуры поддерживается, если вы <strong>кликните</strong> по игре.
</div>

<div class="alert alert-secondary" role="alert">
	&#8635; Для перезапуска игры <strong>перезагрузите</strong> страницу.
</div>

@code
{
	Games.Paychki.Paychki Game;
	BlazorConsole Console;

	public Paychki()
	{
		Game = new();
		Console = Game.Console;
		Console.WindowWidth = 117;
		Console.TriggerRefresh = StateHasChanged;
	}

	protected override void OnInitialized() => InvokeAsync(Game.Run);
}